草庐IT

c++ - 纯虚拟 friend 类

全部标签

c - 将 offsetof 与枚举一起使用不会在 Visual Studio 2015 中编译

我有以下代码可以在VisualStudio2013中正常编译,但不能在VisualStudio2015中编译。在VS2015上,我收到错误“errorC2057:expectedconstantexpression”#includestructtemp{inta;charb;};intmain(){enum{TEST=(offsetof(structtemp,a)?1:2)};return0;}我使用以下命令编译它:cl-nologo-FS-MD-EHsc-Od-D_DEBUG-Zi-ctest.c我查看了stddef.hheader,似乎offsetof宏在VS2015中发生了变化。

c - 为什么我收到错误 "The program can' t start because msys-2.0.dll is missing from your computer”?有修复吗?

我用C写了一个很长的程序,所以我没有写完整的代码。这些是我使用的库(以防万一)#include#include#include#include#include#include#include#include"xlsxwriter.h"该程序在我的Windows计算机和我的工作计算机以及我有相同程序的地方运行完美。但是当我在同事电脑上运行时出现这个错误:Systemerror:Theprogramcan'tstartbecausemsys-2.0.dllismissingfromyourcomputer.Tryreinstallingtheprogramtofixthisproblem.

c - 如何在 fork 的子进程期间在字符串上打印\n

我的代码:#include#include#include#includeintmain(){fork();printf("Showmethenewlinebeforethepidchilddies\n");return0;}输出:>ShowmethenewlinebeforethepidchilddiesShowmethenewlinebeforethepidchilddies"\n>我的预期结果是将'\n'显示为字符串的一部分并有两行,如下所示:>string1\n>string2\n>但我得到以下信息:>string1string2\n>我尝试使用fflush(stdout),但

c - 读取日志文件并以指定格式写入其他文件

我有一个日志文本文件(*.txt),其中大约有250万个条目使用Clanguaje,我必须读取它并写入具有特定格式的其他文件。必须读取的文件如下:202.32.92.47--[01/Jun/1995:00:00:59-0600]"GET/~scottp/publish.html"200271--ix-or7-27.ix.netcom.comRFC-1413JohnThomas[01/Jun/1995:00:02:51-0600]"GET/~ladd/ostriches.html"200205908-"Mozilla/5.0(X11;U;Linuxi686;es-ES;rv:1.7.5)

c++ - 如何在windows日文系统中打印日文字符?

我写了一个小程序,它将日文字符串作为硬编码值并将其写入日文系统的文件中。程序用visualstudio2010(英文系统)编写charszMsg_m[]="スプールがいっぱいです";//inputstringszMsg_s=("スプールがいっぱいです");wchar_tszMsg_w[]=L"スプールがいっぱいです";wstringszMsg_h=L"スプールがいっぱいです";fprintf(trace.TraceFP,"\tMsg:%s\n",szMsg_m);//outputfprintf(trace.TraceFP,"\tMsg:%s\n",szMsg_s.c_str());fw

c - GetKeyNameText 的反向操作

我们可以使用GetKeyNameText()检索表示键名的字符串。有什么方法可以做相反的事情,即获取给定键名的扫描码或虚拟键?我想将键名写入配置文件,以便用户可以轻松编辑它们。当我读入配置文件时,我需要执行与GetKeyNameText()相反的操作。 最佳答案 这不是个好主意,这些名称不是固定的:Thekeynameistranslatedaccordingtothelayoutofthecurrentlyinstalledkeyboard,thusthefunctionmaygivedifferentresultsfordiff

C: 函数没有更新全局数组(使用 strcpy/malloc)

尝试从Windows中的目录获取文件名。通过名为list_files的函数执行此操作。该函数由于某种原因(或看起来像它)没有做任何事情,因为每当我打印数组时,它都是空的。我之前测试过这段代码,它运行良好。我一直在编码(这本来是一个更长的代码)我注意到每当我以后不得不使用数组时它返回0(什么都没有)voidlist_files();char*filesList[0][254];inti=0,n=0,l=254;chardirectory[]={"C:/Users/test/Downloads/test/"};intmain(){list_files();}voidlist_files()

c - 编译 clang 的 <noreturn.h> 和 Windows header 时出现 declspec 错误

我正在尝试在Windows上构建我的项目,这对我来说是第一次。我是该平台的初学者。我正在使用clang-cl来支持C11。原用来源noreturn来自注释永远不会返回的函数。我在编译时遇到了一大堆declspec错误,并尽可能将其缩小到一个微不足道的文件。#include#include无论是自己构建都很好,但他们在一起producealaundrylistoferrors,都是完全相同的类型:__declspecattributesmustbeanidentifierorstringliteral所有这些都对同一宏扩展的变化感到不满:[build]C:\ProgramFiles(x8

使用 Windows API 在控制台中居中文本?

有没有办法使用WindowsAPI(windows.h)将文本输出居中显示在控制台窗口中?或者来自另一个库的函数,或者一般的可能性?目前我插入了几个控制字符,但根据窗口的分辨率和大小,它不适合。printf("\n\t\t\t\t--Men\x81--\n\n\t\t\t1:NeueSpielrunde\n\t\t\t2:Charaktereladen\n\t\t\t3:Spielrundespeichern\n\t\t\t4:Programmbeenden\n\n"); 最佳答案 引用this回答:#include#include

windows - 在 32 位 Windows 上,一个程序如何具有高虚拟字节数而私有(private)字节数相对较低?

我试图更好地了解32位Windows如何计算程序的虚拟字节。我的印象是,虚拟字节(VB)是对使用了多少用户地址空间的度量,而私有(private)字节(PB)是对系统上实际提交和保留内存的度量。特别是,我有一个我正在监视的服务器程序,当它在大量使用时,它会爬升到VB的3GB限制。大约在同一时间,PB也攀升,但随后随着使用量下降而迅速下降至1GB左右。然后,PB倾向于保持在1GB左右的低位,但VB保持在3GB左右。我无权访问源代码,所以我只是使用基本的Windows性能计数器来监视所有这些。从编程的角度来看,我不明白什么内存概念使这一切成为可能?是否有很好的引用来了解更多相关信息?